package com.bizframework.core.domain;

import java.io.Serializable;

/**
 * 实体基类
 * 
 * @author Administrator
 *
 * @param <IDT>实体Id类型
 */
public abstract class BaseEntity<IDT extends Serializable> {

	private IDT id;
	/**
	 * 获取Id
	 * @return
	 */
	public IDT getId() {
		return id;
	}
	/**
	 * 设置Id
	 * @param id
	 */
	public void setId(IDT id) {
		this.id = id;
	}

	@SuppressWarnings("unchecked")
	public boolean equals(Object obj) {
		if (obj != null) {
			if (obj instanceof BaseEntity) {
				if (((BaseEntity<IDT>) obj).getId() != null && id != null)
					if (((BaseEntity<IDT>) obj).getId().equals(id)) {
						return true;
					}
			}
		}
		
		return false;
	}
	
//	@Override
//	public String toString(){
//		String str = this.getClass().getName();
//		JSONObject jsonObject = JSONObject.fromObject(this);
//		return "[" + str + " : " + jsonObject.toString() + "]";
//	}
}